public final class SynthesizerFM2 extends MultiTimberSynthBase
修飾子とタイプ | フィールドと説明 |
---|---|
int |
MODEL_ID |
SamplerPreset[] |
samplerPresets
サンプラーの音色プリセットテーブルです.
|
TonePresetFM[] |
tonePresets
インストゥルメントの音色プリセットテーブルです.
|
static int |
WAVE_TABLE_SIZE |
static int |
WAVE_TABLE_SIZE_BITS |
midiInPorts, midiOutPorts, receiveSysEx, voiceParts
コンストラクタと説明 |
---|
SynthesizerFM2()
SynthesizerFM2オブジェクトを構築します.
|
SynthesizerFM2(int maxPoly,
float refPitch,
float masVol,
boolean privateTableData)
SynthesizerFM2オブジェクトを構築します.
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
clearSampleData(int id)
サンプラー用サンプルデータをクリアします.
|
void |
factoryDataReset()
波形データ、音色プリセット、サンプルデータをクリアします.
|
SampleData |
getSampleData(int id)
サンプラー用サンプルデータを取得します.
|
void |
getWaveForm(int id,
float[] buffer)
波形テーブルから波形値を読み取り、バッファへ書き込みます(最大2048).
|
void |
loadPCMData(int id,
byte[] dat,
int position,
int sampleFrames,
int ch,
int bitRate,
boolean sign,
boolean bigEndian)
バイナリのPCMデータから波形を読み込み、サンプラー用サンプルデータを構築します.
|
void |
loadPCMSamples(int id,
float[] wave,
int ch)
PCMデータから波形を読み込み、サンプラー用サンプルデータを構築します.
|
void |
setSampleData(int id,
SampleData sampleData,
boolean deepCopy)
サンプラー用サンプルデータをコピーします.
|
void |
setWaveForm(int id,
float[] buffer)
バッファから波形値を読み取り、波形テーブルへ書き込みます(最大2048).
|
allPartReset, allPartReset, allSoundOff, allSoundOff, allSoundStop, allSoundStop, channelAfterTouch, connectModule, controleChange, disconnectModule, getDefaultPartMode, getMasterVolume, getMaxPolyphony, getNRPNCtrlFlag, getPartMode, getPolyphony, getReferencePitch, getRPNCtrlFlag, getSampleRate, initialize, initiModule, keyAfterTouch, noteOff, noteOn, pitchBendChange, pitchBendChangeW, process, programChange, resetModule, resumeProcess, setDefaultPartMode, setMasterVolume, setMaxPolyphony, setNRPNCtrlFlag, setPartMode, setReferencePitch, setRPNCtrlFlag, setSampleRate, startProcess, stopProcess, suspendProcess, sysExMessage, updateAudioChannels, updateBypassStatus, updateProcessBlockSize, updateSampleRate
public static final int WAVE_TABLE_SIZE_BITS
public static final int WAVE_TABLE_SIZE
public TonePresetFM[] tonePresets
public SamplerPreset[] samplerPresets
public final int MODEL_ID
public SynthesizerFM2()
public SynthesizerFM2(int maxPoly, float refPitch, float masVol, boolean privateTableData)
maxPoly
- 最大発音数[1,2,4,8,16,32,64,128,256,512,1024]refPitch
- 基準ピッチ(Hz)masVol
- マスターボリューム[0.0~1.0]privateTableData
- true
でテーブルデータ(SynthDataオブジェクト)をこのオブジェクト固有で生成、保持して使用します。
false
で共有のテーブルデータを参照して使用します.
複数のシンセサイザーオブジェクトを使用する場合にテーブルデータを共有することでメモリ使用量を節約することができます。
ただしこの場合、必要が無くなった段階でSynthData.disposeInstance()
を使用して解放する必要があります。SynthData
public void getWaveForm(int id, float[] buffer)
id
- 波形テーブルナンバー[0~7]buffer
- 書き込み用バッファ。書き込まれる波形値[-1.0~1.0]public void setWaveForm(int id, float[] buffer)
id
- 波形テーブルナンバー[0~7]buffer
- 読み込みバッファ。波形値([-1.0~1.0])public SampleData getSampleData(int id)
id
- サンプルデータナンバー[0 ~ 127]public void setSampleData(int id, SampleData sampleData, boolean deepCopy)
deepCopy
にtrue
を渡して実行すると波形データをディープコピーします。
falseを渡して実行すると波形データの参照だけ渡します。id
- サンプルデータナンバー[0 ~ 127]sampleData
- コピー元SampleDataオブジェクトdeepCopy
- サンプルデータのディープコピーオプションpublic void loadPCMSamples(int id, float[] wave, int ch)
id
- サンプルデータナンバー[0~127]wave
- PCM波形データ[浮動小数点数-1.0~1.0]ch
- チャンネル数(1~)public void loadPCMData(int id, byte[] dat, int position, int sampleFrames, int ch, int bitRate, boolean sign, boolean bigEndian)
id
- サンプルデータナンバー[0~127]dat
- PCM波形データposition
- 読みだし位置sampleFrames
- サンプルフレーム数(チャンネルあたりサンプル数)ch
- チャンネル数(1~)bitRate
- サンプルビットレート(8,16,24,32)sign
- 符号あり波形値の場合true
bigEndian
- データのバイトオーダーがビッグエンディアンの場合true
public void clearSampleData(int id)
id
- サンプルデータナンバー[0 ~ 127]public void factoryDataReset()
factoryDataReset
クラス内 MultiTimberSynthBase